<?php
/**
 * 常量设置
 */


function D($model)
{
    $path = "./Model/" . $model . '.php';
    if (file_exists($path)) {
        include_once $path;
        return new $model();
    } else {
        die('Model不存在');
    }
}


function P($data)
{
    echo "<pre/>";
    print_r($data);
}

/**
 * 引入页面
 * @param $view
 * @param $data
 */
function display($view, $data)
{
    extract($data);
    set_include_path(get_include_path() . PATH_SEPARATOR . "../html/" . DIRECTORY_SEPARATOR);
    include_once $view . ".php";
}

/*
 * CURL
 */
function postCurl($url, $option = array(), $header = array(), $type = 'POST', $setopt = 10)
{
    $curl = curl_init(); // 启动一个CURL会话
    if ($curl !== false) {
        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)'); // 模拟用户使用的浏览器
        if (!empty ($option)) {
            curl_setopt($curl, CURLOPT_POSTFIELDS, $option); // Post提交的数据包
        }
        curl_setopt($curl, CURLOPT_TIMEOUT, $setopt); // 设置超时限制防止死循环
        if (empty($header)) {
            $header = array();
        }
        curl_setopt($curl, CURLOPT_HTTPHEADER, $header); // 设置HTTP头
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $type);
        curl_getinfo($curl, CURLINFO_HTTP_CODE); // 获取Status Code 正确返回200
        $result = curl_exec($curl); // 执行操作
        curl_close($curl); // 关闭CURL会话
        return $result;
    } else {
        return false;
    }
}

/**
 * ajax返回信息
 * @param  integer
 * @param  string
 * @param  array
 * @return [type]
 */
function ajaxJson($code = 0, $msg = '', $data = false)
{
    $data = array(
        'code' => $code,
        'msg' => $msg,
        'data' => $data,
    );
    die(json_encode($data));
}

/**
 * @desc 获取一个中文字符长度为2，一个英文字符为1的字符长度
 * @param $str
 * @return float
 */
function need_len($str)
{
    $in_charset = mb_detect_encoding($str, array('UTF-8', 'GBK', 'BIG5', 'ASCII'));
    $out_charset = 'UTF-8';
    //编码转变
    $utf8str = eval('return ' . iconv($in_charset, $out_charset, var_export($str, true)) . ';');

    $sl = strlen($utf8str);
    $mbsl = mb_strlen($utf8str, 'UTF8');

    $res = ($sl + $mbsl) / 2;
    return $res;
}

?>